package com.warmheart.entity.access;

import java.util.Date;

import com.warmheart.base.entity.BaseEntity;
import com.warmheart.builder.access.AccessRequestCoBuilder;
import com.warmheart.builder.access.AccessRequestRsBuilder;

/**
 * 
 * @ClassName: AccessRequest
 * @Description: 权限申请实体类，对应表名称为tb_access_request
 *               温馨提示：不要修改该实体类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月16日 下午13:05:35
 *
 */
public class AccessRequest extends BaseEntity<AccessRequestCoBuilder, AccessRequestRsBuilder> {

	private static final long serialVersionUID = 1L;
	
	/**
     * 
     * @Title: tableName
     * @Description: 表名称
     * @author ZhangJianyang
     * @return
     */
    @Override
    public String tableName() {
        return "tb_access_request";
    }

    public AccessRequestCoBuilder coBuilder() {
        return new AccessRequestCoBuilder(this);
    }

    public AccessRequestRsBuilder rsBuilder() {
        return new AccessRequestRsBuilder(this);
    }

    /**
     * 申请人ID
     */
    private Integer applicantId;

    /**
     * 资源类型
     */
    private String resourceType;

    /**
     * 资源ID
     */
    private Integer resourceId;

    /**
     * 访问类型
     */
    private String accessType;

    /**
     * 申请理由
     */
    private String reason;

    /**
     * 审批状态
     */
    private String state;

    /**
     * 审批意见
     */
    private String reviewComment;

    /**
     * 过期时间(临时权限)
     */
    private Date expiresTime;

    /**
     * 
     * @Title: getApplicantId
     * @Description: 申请人IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getApplicantId(){
        return applicantId;
    }
    
    /**
     * 
     * @Title: setApplicantId
     * @Description: 申请人IDsetter方法
     * @author ZhangJianyang
     * @param applicantId
     */
    public void setApplicantId(Integer applicantId){
        this.applicantId = applicantId;
    }

    /**
     * 
     * @Title: getResourceType
     * @Description: 资源类型getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getResourceType(){
        return resourceType;
    }
    
    /**
     * 
     * @Title: setResourceType
     * @Description: 资源类型setter方法
     * @author ZhangJianyang
     * @param resourceType
     */
    public void setResourceType(String resourceType){
        this.resourceType = resourceType;
    }

    /**
     * 
     * @Title: getResourceId
     * @Description: 资源IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getResourceId(){
        return resourceId;
    }
    
    /**
     * 
     * @Title: setResourceId
     * @Description: 资源IDsetter方法
     * @author ZhangJianyang
     * @param resourceId
     */
    public void setResourceId(Integer resourceId){
        this.resourceId = resourceId;
    }

    /**
     * 
     * @Title: getAccessType
     * @Description: 访问类型getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getAccessType(){
        return accessType;
    }
    
    /**
     * 
     * @Title: setAccessType
     * @Description: 访问类型setter方法
     * @author ZhangJianyang
     * @param accessType
     */
    public void setAccessType(String accessType){
        this.accessType = accessType;
    }

    /**
     * 
     * @Title: getReason
     * @Description: 申请理由getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getReason(){
        return reason;
    }
    
    /**
     * 
     * @Title: setReason
     * @Description: 申请理由setter方法
     * @author ZhangJianyang
     * @param reason
     */
    public void setReason(String reason){
        this.reason = reason;
    }

    /**
     * 
     * @Title: getState
     * @Description: 审批状态getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getState(){
        return state;
    }
    
    /**
     * 
     * @Title: setState
     * @Description: 审批状态setter方法
     * @author ZhangJianyang
     * @param state
     */
    public void setState(String state){
        this.state = state;
    }

    /**
     * 
     * @Title: getReviewComment
     * @Description: 审批意见getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getReviewComment(){
        return reviewComment;
    }
    
    /**
     * 
     * @Title: setReviewComment
     * @Description: 审批意见setter方法
     * @author ZhangJianyang
     * @param reviewComment
     */
    public void setReviewComment(String reviewComment){
        this.reviewComment = reviewComment;
    }

    /**
     * 
     * @Title: getExpiresTime
     * @Description: 过期时间(临时权限)getter方法
     * @author ZhangJianyang
     * @return
     */
    public Date getExpiresTime(){
        return expiresTime;
    }
    
    /**
     * 
     * @Title: setExpiresTime
     * @Description: 过期时间(临时权限)setter方法
     * @author ZhangJianyang
     * @param expiresTime
     */
    public void setExpiresTime(Date expiresTime){
        this.expiresTime = expiresTime;
    }
}
